package com.geostar.constructionland.common.global;

import java.util.ArrayList;
import java.util.List;

/**
 * @author yelll
 * @author zhu jiacheng
 * @date 2020/7/23 16:39
 * @since 2020-5-27 11:03
 * <p>
 * *
 * 增加解释
 */
public enum AnalyseType {
    YCYFQFX(ConstAnalyseType.CONST_YCYFQFX, "地质灾害易发区分析"),
    TZHDLGDFX(ConstAnalyseType.CONST_TZHDLGDFX, "调整后地类耕地分析"),
    TZHDLFX(ConstAnalyseType.CONST_TZHDLFX, "调整后地类分析"),
    YPHXFXGJ(ConstAnalyseType.CONST_YPHXFX, "已批红线分析国家"),
    YPHXFX(ConstAnalyseType.CONST_YPHXFX, "已批红线分析"),
    DLFX(ConstAnalyseType.CONST_DLFX, "地类分析"),
    XZQFX(ConstAnalyseType.CONST_XZQFX, "行政区划分析"),
    QSFX(ConstAnalyseType.CONST_QSFX, "权属分析"),
    GHDLFX(ConstAnalyseType.CONST_GHDLFX, "规划地类分析、期末地类图斑"),
    GHYTQFX(ConstAnalyseType.CONST_GHYTQFX, "规划用途区分析、土地用途区分析"),
    JSYDGZQFX(ConstAnalyseType.CONST_JSYDGZQFX, "建设用地管制区分析、建设用地管制区分析"),
    YPYSFX(ConstAnalyseType.CONST_YPYSFX, "已批预审分析、已批预审"),
    ZYGDFX(ConstAnalyseType.CONST_ZYGDFX, "占用耕地分析、耕地质量等别分析"),
    YJJBNTFX(ConstAnalyseType.CONST_YJJBNTFX, "永久基本农田分析"),
    GBZNTFX(ConstAnalyseType.CONST_GBZNTFX, "高标准农田分析、高标准农田"),
    TZHGDFX(ConstAnalyseType.CONST_TZHGDFX, "调整后占用耕地分析"),
    CSZBYJJBNTFX(ConstAnalyseType.CONST_CSZBYJJBNTFX, "城市周边永久基本农田分析"),
    ZPHXFX(ConstAnalyseType.CONST_YPHXFX, "在批红线分析"),
    LSYDFX(ConstAnalyseType.CONST_LSYDFX, "历史用地分析"),
    SSNYDFX(ConstAnalyseType.CONST_SSNYDFX, "设施农用地分析"),
    CJXZQFX(ConstAnalyseType.CONST_CJXZQFX, "村级行政区分析"),
    CJFKLXFX(ConstAnalyseType.CONST_CJFKLXFX, "拆旧复垦立项分析"),
    CJFKYSFX(ConstAnalyseType.CONST_CJFKYSFX, "拆旧复垦验收分析"),
    BCGDXMFWFX(ConstAnalyseType.CONST_BCGDXMFWFX, "补充耕地项目范围分析"),
    BCXZGDFWFX(ConstAnalyseType.CONST_BCXZGDFWFX, "补充新增耕地范围分析"),
    YJJBNTBHFX(ConstAnalyseType.CONST_YJJBNTBHFX, "永久基本农田补划分析"),
    ZBQFX(ConstAnalyseType.CONST_ZBQFX, "整备区分析"),
    SJGZXMFX(ConstAnalyseType.CONST_SJGZXMFX, "三旧改造项目分析"),
    BTJKFX(ConstAnalyseType.CONST_BTJKFX, "标图建库分析"),
    BTJKFX_ALL(ConstAnalyseType.CONST_BTJKFX_ALL, "标图建库分析ALL"),
    MJJS(ConstAnalyseType.CONST_MJJS, "面积计算"),
    CDYPHXFX(ConstAnalyseType.CONST_CDYPHXFX, "重叠已批红线"),
    BTJKWYXFX(ConstAnalyseType.CONST_BTJKWYXFX, "标图建库唯一性分析"),
    DQHPFX(ConstAnalyseType.CONST_DQHPFX, "低丘缓坡分析"),
    CDZDFX(ConstAnalyseType.CONST_CDZDFX, "重叠宗地分析"),
    JXQFX(ConstAnalyseType.CONST_JXQFX, "新建区分析"),
    ZRBHQFX(ConstAnalyseType.CONST_ZRBHQFX, "自然保护区区分析"),
    LYSTBHHXFX(ConstAnalyseType.CONST_LYSTBHHXFX, "陆域生态保护红线分析"),
    HYSTBHHXFX(ConstAnalyseType.CONST_HYSTBHHXFX, "海洋生态保护红线分析"),
    DLMJJFX(ConstAnalyseType.CONST_DLMJJFX, "地类毛面积分析"),
    TZHDLGDMMJFX(ConstAnalyseType.CONST_TZHDLGDMMJFX, "调整后地类耕地毛面积分析"),
    YZFXLT(ConstAnalyseType.CONST_YZFXLT, "压占分析落图服务"),
    KJCC(ConstAnalyseType.CONST_KJCC, "空间擦除服务"),
    LYFWFX(ConstAnalyseType.CONST_LYFWFX, "陆域范围分析"),
    STBHHXFX(ConstAnalyseType.CONST_STBHHXFX, "生态保护红线分析"),
    MINE_STBHHXFX(ConstAnalyseType.CONST_MINE_STBHHXFX, "矿管生态保护红线分析"),
    MINE_SJDZGYFX(ConstAnalyseType.CONST_MINE_SJDZGYFX, "矿管省级地质公园分析服务"),
    MINE_GJJDZGYFX(ConstAnalyseType.CONST_MINE_GJJDZGYFX, "矿管国家地质公园分析服务"),
    MINE_YCYFQFX(ConstAnalyseType.CONST_MINE_YCYFQFX, "矿管地质灾害易发分区分析"),
    MINE_KCZYCBQFX(ConstAnalyseType.CONST_MINE_KCZYCBQFX, "矿管矿产资源储备区分析"),
    MINE_SYBHQFX(ConstAnalyseType.CONST_MINE_SYBHQFX, "矿管水源保护区分析"),
    MINE_LZXXTZXKCQFX(ConstAnalyseType.CONST_MINE_LZXXTZXKCQFX, "矿管离子型稀土专项勘察区分析"),
    MINE_KCZYCLFWFX(ConstAnalyseType.CONST_MINE_KCZYCLFWFX, "矿管矿产资源储量范围分析"),
    MINE_ZDKCQFX(ConstAnalyseType.CONST_MINE_ZDKCQFX, "矿管重点勘查区分析"),
    MINE_GJGHKQFX(ConstAnalyseType.CONST_MINE_GJGHKQFX, "矿管国家规划矿区分析"),
    MINE_ZDKQFX(ConstAnalyseType.CONST_MINE_ZDKQFX, "矿管重点矿区分析"),
    MINE_ZRBHQFX(ConstAnalyseType.CONST_MINE_ZRBHQFX, "矿管自然保护区分析"),
    MINE_XZQFX(ConstAnalyseType.CONST_MINE_XZQFX, "矿管县级行政区划分析"),
    MINE_DSJXZQFX(ConstAnalyseType.CONST_MINE_DSJXZQFX, "矿管地市级行政区划分析"),
    MINE_YJJBNTFX(ConstAnalyseType.CONST_MINE_YJJBNTFX, "矿管永久基本农田分析"),
    MINE_KCZYJZKCQFX(ConstAnalyseType.CONST_MINE_KCZYJZKCQFX, "矿管矿产资源禁止开采区分析"),
    MINE_TKQFX(ConstAnalyseType.CONST_MINE_TKQFX, "矿管探矿权分析"),
    MINE_CKQFX(ConstAnalyseType.CONST_MINE_CKQFX, "矿管探采矿权分析"),
    MINE_TCKQMJJSFX(ConstAnalyseType.CONST_MINE_TCKQMJJSFX, "矿管探（采）矿权矿区面积计算分析");

    private final String code;
    private final String desc;

    AnalyseType(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static List getEnumList() {
        List enumList = new ArrayList<>(1 << 6); // 初始大小64 避免resize
        AnalyseType[] values = values();
        for (AnalyseType analyseType : values) {
            enumList.add(new InnerClass(analyseType.desc, analyseType.name()));
        }
        return enumList;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    private static class InnerClass {
        private String type;
        private String name;


        public InnerClass(String name, String type) {
            this.type = type;
            this.name = name;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}
